
#include <p32xxxx.h>
#include <sys/asm.h>
#include "ISR_Support.h"

	.set	nomips16
 	.set 	noreorder


/*******************************************************************************
	SD DMA > SPI TX
*******************************************************************************/
 	.extern ISR_SD_DMA_TX
	.extern xISRStackTop
 	.global	ISRWRAPPER_SD_DMA_TX

	.set		noreorder
	.set 		noat
	.ent		ISRWRAPPER_SD_DMA_TX

ISRWRAPPER_SD_DMA_TX:
	portSAVE_CONTEXT
	jal ISR_SD_DMA_TX
	nop
	portRESTORE_CONTEXT
	.end		ISRWRAPPER_SD_DMA_TX

/*******************************************************************************
	SD DMA > SPI RX
*******************************************************************************/
 	.extern ISR_SD_DMA_RX
	.extern xISRStackTop
 	.global	ISRWRAPPER_SD_DMA_RX

	.set		noreorder
	.set 		noat
	.ent		ISRWRAPPER_SD_DMA_RX

ISRWRAPPER_SD_DMA_RX:
	portSAVE_CONTEXT
	jal ISR_SD_DMA_RX
	nop
	portRESTORE_CONTEXT
	.end		ISRWRAPPER_SD_DMA_RX

/*******************************************************************************
 BT GPS > UART TX
*******************************************************************************/
 	.extern ISR_BT_DMA_TX
	.extern xISRStackTop
 	.global	ISRWRAPPER_BT_DMA_TX

	.set		noreorder
	.set 		noat
	.ent		ISRWRAPPER_BT_DMA_TX

ISRWRAPPER_BT_DMA_TX:
	portSAVE_CONTEXT
	jal ISR_BT_DMA_TX
	nop
	portRESTORE_CONTEXT
	.end		ISRWRAPPER_BT_DMA_TX

/*******************************************************************************
	GPS DMA > UART RX
*******************************************************************************/
 	.extern ISR_GPS_DMA_RX
	.extern xISRStackTop
 	.global	ISRWRAPPER_GPS_DMA_RX

	.set		noreorder
	.set 		noat
	.ent		ISRWRAPPER_GPS_DMA_RX

ISRWRAPPER_GPS_DMA_RX:
	portSAVE_CONTEXT
//	jal ISR_GPS_DMA_RX
	nop
	portRESTORE_CONTEXT
	.end		ISRWRAPPER_GPS_DMA_RX

/*******************************************************************************
	INT1
*******************************************************************************/

 	.extern ISR_INT1
	.extern xISRStackTop
 	.global	ISRWRAPPER_INT1

	.set		noreorder
	.set 		noat

	.ent		ISRWRAPPER_INT1
ISRWRAPPER_INT1:
	portSAVE_CONTEXT
	jal ISR_INT1
	nop
	portRESTORE_CONTEXT
	.end		ISRWRAPPER_INT1
/*******************************************************************************
	INT2
*******************************************************************************/

 	.extern ISR_INT2
	.extern xISRStackTop
 	.global	ISRWRAPPER_INT2

	.set		noreorder
	.set 		noat

	.ent		ISRWRAPPER_INT2
ISRWRAPPER_INT2:
	portSAVE_CONTEXT
	jal ISR_INT2
	nop
	portRESTORE_CONTEXT
	.end		ISRWRAPPER_INT2

/*******************************************************************************
	INT4 (i2c esc pulse)
*******************************************************************************/

 	.extern ISR_INT4
	.extern xISRStackTop
 	.global	ISRWRAPPER_INT4

	.set		noreorder
	.set 		noat

	.ent		ISRWRAPPER_INT4
ISRWRAPPER_INT4:
	portSAVE_CONTEXT
	jal ISR_INT4
	nop
	portRESTORE_CONTEXT
	.end		ISRWRAPPER_INT4

/*******************************************************************************
	I2C 1
*******************************************************************************/

 	.extern ISR_I2C1
	.extern xISRStackTop
 	.global	ISRWRAPPER_I2C1

	.set		noreorder
	.set 		noat

	.ent		ISRWRAPPER_I2C1
ISRWRAPPER_I2C1:
	portSAVE_CONTEXT
	jal ISR_I2C1
	nop
	portRESTORE_CONTEXT
	.end		ISRWRAPPER_I2C1

/*******************************************************************************
	I2C 2
*******************************************************************************/

 	.extern ISR_I2C2
	.extern xISRStackTop
 	.global	ISRWRAPPER_I2C2

	.set		noreorder
	.set 		noat

	.ent		ISRWRAPPER_I2C2
ISRWRAPPER_I2C2:
	portSAVE_CONTEXT
	jal ISR_I2C2
	nop
	portRESTORE_CONTEXT
	.end		ISRWRAPPER_I2C2

/*******************************************************************************
	RC UART
*******************************************************************************/

 	.extern ISR_RC_UART
	.extern xISRStackTop
 	.global	ISRWRAPPER_RC_UART

	.set		noreorder
	.set 		noat
	.ent		ISRWRAPPER_RC_UART

ISRWRAPPER_RC_UART:
	portSAVE_CONTEXT
	jal ISR_RC_UART
	nop
	portRESTORE_CONTEXT
	.end		ISRWRAPPER_RC_UART







